package com.supermarket.manage.provider.api.product;

import com.supermarket.manage.common.dto.prod.response.CategoryDto;
import com.supermarket.manage.common.pojo.ProductCategory;

import java.util.Set;

/**
 * @author Faxon
 * @version 1.0
 * @date 2020-03-08 19:17
 **/
public interface ProductCategoryService {
    /**
     * 根据分类名称获取数量
     *
     * @param cname
     * @param buyerId
     * @return
     */
    Integer getCountByCname(String cname, String buyerId);

    /**
     * 添加商品分类
     *
     * @param category
     * @return
     */
    Boolean addCategory(ProductCategory category);

    /**
     * 查询下一级分类个数
     *
     * @param cid
     * @return
     */
    Integer getChildCountByCid(String cid);

    /**
     * 删除分类
     *
     * @param cid
     * @param buyerId
     * @return
     */
    Boolean deleteByCid(String cid, String buyerId);

    /**
     * 根据cid获取分类信息
     *
     * @param cid
     * @return
     */
    ProductCategory getCategoryByCid(String cid);

    /**
     * 更新商品分类名称
     *
     * @param newCategory
     * @return
     */
    Boolean updateCnameByCid(ProductCategory newCategory);

    /**
     * 查询分类
     *
     * @param buyerId
     * @return
     */
    Set<CategoryDto> getCategoryList(String buyerId);

    /**
     * 获取分类名称
     *
     * @param redisKey
     * @param cid
     * @param buyerId
     * @return
     */
    String getCatName(String redisKey, String cid, String buyerId);
}
